// import store from '@/store'
// import {
//   sortObj,
//   getString,
//   getRsaCode,
//   decrypt
// } from "./request-encryption.js"
// import Rsa from "./aesRsa/rsa.js"
// import Aes from "./aesRsa/aes.js"
/*
  2022-02-28
  封装uni-app请求
*/
import config from "./config.js";
import ajax from 'uni-ajax'
// 创建请求实例
// const token = uni.getStorageSync('token')
// console.log(token, 'token最新值')
// ajax.defaults.timeout = config.reqTimeOut
const service = ajax.create({
  baseURL: config.base_url,
  header: {
    // 'authType': 'appApi',
    'Content-Type': 'application/json;charset=UTF-8'
  },
  withCredentials: true,
  timeout: config.reqTimeOut
})
// 添加请求拦截器
service.interceptors.request.use(
  config => {

    const token = uni.getStorageSync('token')
    // console.log( token )
    if (token !== '') {
      // config.header.Authorization = token,
        // 让每个请求携带自定义token 请根据实际情况自行修改
        // config.header.token = token
    }
    return config
  },
  error => {
    // 对请求错误做些什么
    // console.log( error, '报错了' ) // for debug
    return Promise.reject('请求超时')
  }
)

// 添加响应拦截器
service.interceptors.response.use(
  response => {
    // console.log( response )
    var res = response.data
    //解密方式
    // if (res.whetherToEncrypt&&res.data!==''&&res.data) {
    //   console.log( res.data )
    //   res.data = JSON.parse(decrypt(  res.data ))
    //   console.log( res )
    // }
    // console.log( '添加响应拦截器-response:', res )
    // if the custom code is not 20000, it is judged as an error.
    if (res.code === 501) {
      //登录状态过期使用
      uni.$u.toast(res.msg)
      setTimeout(function () {
        // 清除缓存
      uni.removeStorageSync('token')// 清除个人token标识
      uni.removeStorageSync('setUserinfo')// 清除个人数据
        // 返回登录
        // uni.reLaunch({
        //   url: '/src/views/pageLogin/login',
        //   success: (res) => {
        //     console.log(res)
        //   },
        //   fail: (e) => {
        //     console.log(e, '错误原因')
        //   },
        // })
      }, 1000)

    }
    if (res.code === 502) {
      // token为空
      uni.$u.toast(res.msg)
      // 提示用户登录信息不全，需要获取用户信息
      uni.showModal({
        title: '操作异常',
        content: res.msg,
        showCancel: false
      });


    }
    if (res.code !== 200) {
      // uni.showToast({
      //   title: res.message || 'Error',
      //   duration: 2000
      // })
      // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
      if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
        // to re-login
        uni.showModal({
          title: '注意',
          content: '登录超时或多账号同时登录，请您重新登录',
          success: function (res) {
            if (res.confirm) {
              console.log('用户点击确定')
              // store.dispatch('user/resetToken').then(() => {
              //   location.reload()
              // })
            } else if (res.cancel) {
              console.log('用户点击取消')
            }
          }
        })
      }
      // return Promise.reject(new Error(res.message || 'Error'))
      return res
    } else {
      return res
    }
  },
  error => {
    console.log('err' + error) // for debug
    // 对响应错误做点什么
   uni.showLoading({ title: '访问超时' })
     setTimeout(function(){
         uni.hideLoading()
     },10000)
    return Promise.reject('访问超时')
  }
)

export default service
